﻿using System;
using System.Runtime.Serialization;
using TpBaseObjects.Base;

namespace TpBaseObjects.Objects {

    public class JobObj : MyBaseModel {

        #region Members

        private DateTime datum;
        private string einheit;
        private TimeSpan endTime;
        private string fahrzeug;
        private int jobType;
        private string leistung;
        private double leistungProzent;
        private double leistungZeit;
        private int projectID;
        private int cashSaleID;
        private string projectName;
        private short status;
        private string title;
        private int userID;
        private TimeSpan startTime;
        private string area;
        private string subArea;
        private string sb;
        private string ss;
        private string file;
        private string fa;
        private string vr;

        #endregion

        #region Constructor

        public JobObj() {

        }

        #endregion

        #region Properties

        [DataMember]
        public string Area {
            get { return this.area; }
            set {
                if (this.area == value) {
                    return;
                }
                this.area = value;
                OnPropertyChanged(() => Area);
            }
        }

        [DataMember]
        public int CashSaleID {
            get { return this.cashSaleID; }
            set {
                if (this.cashSaleID == value) {
                    return;
                }
                this.cashSaleID = value;
                OnPropertyChanged(() => CashSaleID);
            }
        }

        [DataMember]
        public DateTime Datum {
            get { return this.datum; }
            set {
                if (this.datum == value) {
                    return;
                }
                this.datum = value;
                OnPropertyChanged(() => Datum);
            }
        }

        [DataMember]
        public string Einheit {
            get { return this.einheit; }
            set {
                if (this.einheit == value) {
                    return;
                }
                this.einheit = value;
                OnPropertyChanged(() => Einheit);
            }
        }

        [DataMember]
        public TimeSpan EndTime {
            get { return this.endTime; }
            set {
                if (this.endTime == value) {
                    return;
                }
                this.endTime = value;
                OnPropertyChanged(() => EndTime);
            }
        }

        [DataMember]
        public string Fa {
            get { return this.fa; }
            set {
                if (this.fa == value) {
                    return;
                }
                this.fa = value;
                OnPropertyChanged(() => Fa);
            }
        }

        [DataMember]
        public string Fahrzeug {
            get { return this.fahrzeug; }
            set {
                if (this.fahrzeug == value) {
                    return;
                }
                this.fahrzeug = value;
                OnPropertyChanged(() => Fahrzeug);
            }
        }

        [DataMember]
        public string File {
            get { return this.file; }
            set {
                if (this.file == value) {
                    return;
                }
                this.file = value;
                OnPropertyChanged(() => File);
            }
        }

        public bool ForChargeForward {
            get;
            set;
        }

        [DataMember]
        public Guid JobID {
            get;
            set;
        }

        [DataMember]
        public int JobType {
            get { return this.jobType; }
            set {
                if (this.jobType == value) {
                    return;
                }
                this.jobType = value;
                OnPropertyChanged(() => JobType);
            }
        }

        [DataMember]
        public string Leistung {
            get { return this.leistung; }
            set {
                if (this.leistung == value) {
                    return;
                }
                this.leistung = value;
                OnPropertyChanged(() => Leistung);
            }
        }

        [DataMember]
        public double LeistungProzent {
            get { return this.leistungProzent; }
            set {
                if (this.leistungProzent == value) {
                    return;
                }
                this.leistungProzent = value;
                OnPropertyChanged(() => LeistungProzent);
            }
        }

        [DataMember]
        public double LeistungZeit {
            get { return this.leistungZeit; }
            set {
                if (this.leistungZeit == value) {
                    return;
                }
                this.leistungZeit = value;
                OnPropertyChanged(() => LeistungZeit);
            }
        }

        [DataMember]
        public int ProjectID {
            get { return this.projectID; }
            set {
                if (this.projectID == value) {
                    return;
                }
                this.projectID = value;
                OnPropertyChanged(() => ProjectID);
            }
        }

        [DataMember]
        public string ProjectName {
            get { return this.projectName; }
            set {
                if (this.projectName == value) {
                    return;
                }
                this.projectName = value;
                OnPropertyChanged(() => ProjectName);
            }
        }

        [DataMember]
        public string Sb {
            get { return this.sb; }
            set {
                if (this.sb == value) {
                    return;
                }
                this.sb = value;
                OnPropertyChanged(() => Sb);
            }
        }

        [DataMember]
        public string Ss {
            get { return this.ss; }
            set {
                if (this.ss == value) {
                    return;
                }
                this.ss = value;
                OnPropertyChanged(() => Ss);
            }
        }

        [DataMember]
        public TimeSpan StartTime {
            get { return this.startTime; }
            set {
                if (this.startTime == value) {
                    return;
                }
                this.startTime = value;
                OnPropertyChanged(() => StartTime);
            }
        }

        [DataMember]
        public short Status {
            get { return this.status; }
            set {
                if (this.status == value) {
                    return;
                }
                this.status = value;
                OnPropertyChanged(() => Status);
            }
        }

        [DataMember]
        public string SubArea {
            get { return this.subArea; }
            set {
                if (this.subArea == value) {
                    return;
                }
                this.subArea = value;
                OnPropertyChanged(() => SubArea);
            }
        }

        [DataMember]
        public string Title {
            get { return this.title; }
            set {
                if (this.title == value) {
                    return;
                }
                this.title = value;
                OnPropertyChanged(() => Title);
            }
        }

        [DataMember]
        public int UserID {
            get { return this.userID; }
            set {
                if (this.userID == value) {
                    return;
                }
                this.userID = value;
                OnPropertyChanged(() => UserID);
            }
        }

        [DataMember]
        public string Vr {
            get { return this.vr; }
            set {
                if (this.vr == value) {
                    return;
                }
                this.vr = value;
                OnPropertyChanged(() => Vr);
            }
        }

        #endregion

    }
}
